import { IPSDEACModeDataItem } from './ipsdeacmode-data-item';
import { IPSLanguageRes } from '../../res/ipslanguage-res';
import { IPSSysPFPlugin } from '../../res/ipssys-pfplugin';
import { IPSModelObject } from '../../ipsmodel-object';

/**
 *
 * @export
 * @interface IPSDEACMode
 */
export interface IPSDEACMode extends IPSModelObject {
  /**
   * 自填类型
   * @description 值模式 [自动填充类型] {AUTOCOMPLETE：自动填充、 CHATCOMPLETION：聊天补全 }
   * @type {( string | 'AUTOCOMPLETE' | 'CHATCOMPLETION')}
   * @default AUTOCOMPLETE
   */
  aCType: string | 'AUTOCOMPLETE' | 'CHATCOMPLETION';

  /**
   * 代码标识
   * @type {string}
   */
  codeName: string;

  /**
   * 无值显示内容
   * @type {string}
   */
  emptyText: string;

  /**
   * 无值内容语言资源
   *
   * @type {IPSLanguageRes}
   */
  getEmptyTextPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 前端扩展插件
   *
   * @type {IPSSysPFPlugin}
   */
  getItemPSSysPFPlugin(): IPSSysPFPlugin | null;

  /**
   * 逻辑名称
   * @type {string}
   */
  logicName: string;

  /**
   * 附加排序方向
   * @description 值模式 [字段排序方向] {ASC：升序、 DESC：降序 }
   * @type {( string | 'ASC' | 'DESC')}
   */
  minorSortDir: string | 'ASC' | 'DESC';

  /**
   * 数据项集合
   *
   * @type {IPSDEACModeDataItem[]}
   */
  getPSDEACModeDataItems(): IPSDEACModeDataItem[] | null;

  findPSDEACModeDataItem(objKey: any): IPSDEACModeDataItem | null;

  /**
   * 分页大小
   * @type {number}
   */
  pagingSize: number;

  /**
   * 默认自填模式
   * @type {boolean}
   */
  defaultMode: boolean;

  /**
   * 支持后台执行
   * @type {boolean}
   * @default false
   */
  enableBackend: boolean;

  /**
   * 支持分页栏
   * @type {boolean}
   */
  enablePagingBar: boolean;
}
